package org.example.api;

import org.example.api.dto.*;
import org.example.types.model.Response;

import java.math.BigDecimal;
import java.util.List;


public interface IRaffleActivityService {

    /**
     * 活动装配，数据预热缓存
     * @param activityId 活动ID
     * @return 装配结果
     */
    Response<Boolean> armory(Long activityId);

    /**
     * 活动抽奖接口
     *
     *
     * @param request 请求对象
     * @return 返回结果
     */
    Response<ActivityDrawResponseDTO> draw(ActivityDrawRequestDTO request);


    /**
     * 日历签到返利接口
     * @param userId
     * @return
     */

    Response<Boolean> calendarSignRebate(String userId);

    /**
     * 判断是否已经签到
     * @param userId
     * @return
     */
    Response<Boolean> isCalendarSignRebate(String userId);

    Response<UserActivityAccountResponseDTO> queryUserActivityAccount(UserActivityAccountRequestDTO request);


    Response<Boolean> creditPayExchangeSku(SkuProductShopCartRequestDTO request);
    Response<BigDecimal> queryUserCreditAccount(String userId);

    Response<List<SkuProductResponseDTO>> querySkuProductListByActivityId(Long activityId);

}
